package thss.mro.entity.template;

import java.util.HashMap;
import java.util.LinkedHashMap;

import thss.mro.entity.TemplateField;

/**
 * 协议模板
 * @author yangtao
 * 
 */
public class ProtocolTemplate {

	private String templateId;//模板ID
	
	protected int valueType; // 值的单位类型：Constants.PROTOCOL_VALUE_TYPE_BYTE - 字节、Constants.PROTOCOL_VALUE_TYPE_BIT - 位

	protected LinkedHashMap<String, TemplateField> fieldChain = new LinkedHashMap<String, TemplateField>();// 协议字段链

//	protected int fixedLen = 0;// 协议固定长度
//
//	protected HashMap<String, Integer> unfixedFieldMap = new HashMap<String, Integer>();

	// 不定长字段map(key-字段名称，value- -1（占位）)
	// 作用是通过判断unfixedFieldMap.get(fieldName)==null可知道哪些字段不定长

	/**
	 * 添加协议字段
	 * @param tplFd
	 */
	public void addTemplateField(TemplateField tplFd) {
		fieldChain.put(tplFd.getName(), tplFd);
	}

	public LinkedHashMap<String, TemplateField> getFieldChain() {
		return fieldChain;
	}

	public int getValueType() {
		return valueType;
	}

	public void setValueType(int valueType) {
		this.valueType = valueType;
	}

	public String getTemplateId() {
		return templateId;
	}

	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}
}
